<!DOCTYPE html>
<html>

  <head>
    <meta charset='utf-8' />
    <meta http-equiv="X-UA-Compatible" content="chrome=1" />
    <meta name="description" content="CAS - Single Sign-On for the Web" />
    
    
    <link rel="stylesheet" type="text/css" media="screen"
          href="../../stylesheets/v40x-stylesheet.css">
    <link rel="stylesheet" type="text/css" media="print"
          href="../../stylesheets/print.css">
    <title>CAS - CAS Clients</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="../../javascripts/URI.js"></script>
    <script src="../../javascripts/v40x-main.js"></script>
  </head>

  <body>
    <!-- HEADER -->
    <div id="header_wrap" class="outer">
        <header class="inner">
          <a id="forkme_banner" href="https://github.com/Jasig/cas">View on GitHub</a>
          <div id="project_title">
            <a class="undecorated" href="../../index.html">
              <img class="undecorated" src="../../images/cas_logo.png"/>
            </a>
          </div>
          <h2 id="project_tagline">Single Sign-On for the Web</h2>
        </header>
    </div>

    <!-- NAVBAR -->    
    <div id="navbar_wrap" class="outer">
      <header id="navbar_content" class="inner">
        <div class="navlink">
  <a href="../../index.html">Home</a>
</div>
<div class="navlink">
  <a href="https://github.com/Jasig/cas/releases">Downloads</a>
</div>
<div class="navlink">
  <a href="https://www.google.com/cse/publicurl?cx=017040929083740828958:sqr2hwvrxmg">Search</a>
</div>
<div class="navlink">
  <a href="../../Support.html">Support</a>
</div>
<div class="navlink">
  <a href="../../Mailing-Lists.html">Mailing Lists</a>
</div>
<div class="navlink">
  <a href="../../Older-Versions.html">Older Versions</a>
</div>

        </header>
    </div>

      <!-- SIDEBAR -->
      <div id="sidebar_wrap" class="outer">
        <header id="sidebar_content" class="inner">
          <span id="sidebartoc"></span>
        </header >
      </div>
      
      <!-- PAGE TABLE OF CONTENTS -->
      <div id="table_contents" class="outer">
        <header id="sidebar_content" class="inner">
          <span id="tableOfContents"></span>
        </header>
      </div>
      
      <!-- MAIN CONTENT -->
      <div id="main_content_wrap" class="outer">
        <section id="main_content" class="inner">
          <h1 id="overview">Overview</h1>
<p>A CAS client is also a software package that can be integrated with various software platforms and applications in order to communicate with the CAS server using or or more supported protocols. CAS clients supporting a number of software platforms and products have been developed.</p>

<h2 id="official-clients">Official Clients</h2>
<ul>
  <li><a href="https://github.com/Jasig/dotnet-cas-client">.NET CAS Client</a></li>
  <li><a href="https://github.com/Jasig/java-cas-client">Java CAS Client</a></li>
  <li><a href="https://github.com/Jasig/phpCAS">PHP CAS Client</a></li>
  <li><a href="https://github.com/Jasig/mod_auth_cas">Apache CAS Client</a></li>
</ul>

<h2 id="other-clients">Other Clients</h2>
<p>Other unofficial or incubating CAS clients may be <a href="https://wiki.jasig.org/display/CASC">found here</a>.</p>

<h2 id="framework-support">Framework Support</h2>
<p>The following programming frameworks have built-in support for CAS:</p>

<ul>
  <li><a href="http://static.springsource.org/spring-security/site/">Spring Security</a></li>
  <li><a href="http://shiro.apache.org/cas.html">Apache Shiro</a></li>
</ul>

<h2 id="build-your-own-cas-client">Build your own CAS client</h2>
<p>As a lot of CAS clients already exist, there is little opportunity to develop a CAS client and it should be avoided as much as possible. Indeed, creating your own client is not an easy job and you’re most likely to generate security breaches.</p>

<p>Though, if you really need to create your own CAS client, please be aware of these incomplete guidelines:</p>

<ul>
  <li>Rely on a static internal configuration instead of leveraging the behaviour on received inputs which can be forged</li>
  <li>Ensure that all outside inputs are properly decoded and encoded when used calls to CAS or other services</li>
  <li>Ensure that input is validated and that overly large inputs are discarded.</li>
</ul>


        </section>
      </div>

    <!-- FOOTER  -->
    <div id="footer_wrap" class="outer">
      <footer class="inner">
        <p>CAS is supported by the <a href="http://www.apereo.org/">Apereo Foundation</a>.</p>
      </footer>
    </div>
  </body>
</html>
